โครงสร้างของประเภทซับซ้อน
C++ ประเภทซับซ้อน ถูกกำหนดโดยการรวมประเภทพื้นฐานกับ ตัวปรับชนิด. แม้ว่าการอ้างอิงและตัวชี้จะให้การผ่านไปยังวัตถุได้ แต่พวกมันมีความแตกต่างทางปรัชญา ตัวชี้ การอ้างอิง (&) เป็นการเชื่อมโยงถาวร—ชื่อเล่นสำหรับวัตถุที่มีอยู่แล้ว หลังจากผูกแล้ว ไม่สามารถเปลี่ยนตำแหน่งได้ ในทางกลับกัน ตัวชี้ ตัวชี้ (*) เป็นวัตถุอิสระในหน่วยความจำที่เก็บที่อยู่แบบเลขฐานสิบหก ที่อยู่. มันสามารถเปลี่ยนจุดหมายไปยังวัตถุที่ต่างกัน หรือตั้งค่าเป็น nullptr.
การมองเห็นหน่วยความจำ
ในโค้ด int *p1, p2;, มีเพียง p1 เป็นตัวชี้; p2 เป็นจำนวนเต็มธรรมดา เพื่อให้ทั้งสองเป็นตัวชี้ ใช้ int *p1, *p2;. สิ่งนี้เน้นว่าตัวปรับชนิดอยู่กับตัวระบุแต่ละตัว ไม่ใช่ประเภทพื้นฐาน
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>